/*
 * Sub-classe para desempacotar PDUs destinadas 
 * a ENTIDADE receiver.
 */
package framework;

import framework.Entidade;

public class SocketThread extends SimpleThread_r {
    int code;
    String end_rede;
    int end_sn = -1;
    int status = -1;
    public SocketThread(Msg _m, Entidade _u){
        super(_m, _u);
    }
    @Override
    public void desempacota(){
                    String [] split;
                    // Desempacota mensagem
                    /* mensagem comtem 4 informaçõaes
                    1: codigo para a ação a ser executada
                    2: endereço de rede de quem estão solicitando a inserção
                    3: endereço do sistema de nomeação.
                    4: tipo de inserção a ser feita (FILHO OU ENTRADA)
                    */
                    
                    split = tmp.split(";");
                    //System.out.println("Tamanho do array: "+split.length);
                          
                    code = Integer.valueOf(split[0]);
                    if(split.length > 1)
                        end_rede = split[1];
                        
                    if(split.length > 2)
                        if(!split[2].isEmpty())
                            end_sn = Integer.valueOf(split[2]);
                    
                    if(split.length > 3)
                        if (!split[3].isEmpty())
                            status = Integer.valueOf(split[3]);
                   // Cria Evento
                    Evento e = new Evento(code, end_rede, end_sn, status);
                   // Coloca no buffer da entidade
                   ent.colocaEvento(e); 
    }
}
